Resource scheduling is a complex task that requires satisfaction of several potentially conflicting goals and constraints. In a complex environment a resource scheduling algorithm may reach its conclusion with several unfulfilled goals and exceptions. These unfulfilled goals frustrate the intended result of a working resource schedule. One such complex environment of resource scheduling is call center forecasting and agent scheduling. In this complex an diverse setting, a significant amount of configuration and parameter specifications must be done via user interfaces before a final result can be produced. Existing applications for resource scheduling do not adequately produce an unobtrusive interactive mechanism for warning the user of parameter or configuration selections that are likely to result in poor performance or failure of the schedule.
Current algorithms produce warnings or an indication of a conflict that interrupt the scheduling process. Present systems, known to one skilled in the art, use modal interfaces to detect and inform the user of errors. Errors that are detected in mid-stream of the user's work forcibly interrupt the user with a warning message. This warning message prevents the user from continuing work without at least acknowledging its presence. These warning mechanisms are rigid in their application and, if disabled, are completely ineffective at providing any type of failure notification. For example, this warning process is accomplished through a series of programmed communications between the error detection program and the primary scheduling program that results in the scheduling operations ceasing.
The prior art fails to provide an unobtrusive or concurrent means to notify a user of a resource scheduling conflict. By forcing the user to interact with a warning or notification of a pending error, the efficiency of the scheduling process suffers. If the user elects to dismiss the warning, no further indication is present to convey to the user that the conflict is still present. Furthermore, should a user elect to correct the conflict upon receiving notification, the user is required to navigate independently in the program to the position in the program that contains the cause of the conflict, which is both inefficient and costly.